#include<stdio.h>

/*
    设定一个数组：-1、37、99、28、7、25。
        学习查询数组内值的所在地址
        数组的索引越界
*/

void printArr(int arr[],int len)//定义处的arr表示的是完整的数组
{
    //int len = sizeof(arr) / sizeof(arr[0]);   //如果写在这里的话，sizeof(arr)输出的是指针（首地址）长度：8
    for (int i = 0; i < len; i++)
    {
        printf("%d\n",arr[i]);
    }

}

int main()
{
    int arr[6] = {-1,37,99,28,7,25};

    //手动输出数组中的数字
    printf("%p\n",&arr);//数组的首地址（第一个元素，第一个格子的内存地址）
    printf("%p\n",&arr[0]);//与首地址一致
    printf("%p\n",&arr[1]);//从内存的角度来看：偏移量（首地址+往后进行偏移）
    printf("%p\n",&arr[2]);

    printf("数组arr长度%zu\n",sizeof(arr));//查询arr数组的长度


    //使用函数一键调用，输出数组中的数字
    int len = sizeof(arr) / sizeof(arr[0]);//数组总长度÷单数长度=数值个数（长度）
    printArr(arr len);//调用函数遍历数组

    return 0;
}